This invention relates to a micro program control system for use in a data processing system, and more particularly to a micro program control system having a speeded-up control operation.
A conventional data processing system of a micro programmed type includes a main memory for storing data and macro instructions by which a data processing program is constructed, an instruction register for holding a macro instruction read out from the main memory, a plurality of registers for holding data temporarily, an arithmetic and logical circuit unit ALU for data processing, and a fast accessible control memory for storing a plurality of micro programs, each of which comprises different micro instructions arranged in sequence, with each including a control code to control the data processing system.
The macro instructions, each comprising an operation code and operand information, for instance, are stored in a main memory and are sequentially read out to the instruction register through the execution of a proper one of these micro instructions. One of the micro programs is selected in response to the macro instructions according to the operation of the micro program control register. In the previously known control system, the operation code of the certain macro instruction is decoded in order to specify the address of a first micro instruction of the desired micro program corresponding to the macro instruction. After this decoding step, the first micro instruction is read out from the control memory and executed.
The first micro instruction also includes the next address information and an address selection code so that it can specify a second micro instruction to be executed at the second micro operation. The second micro instruction is similarly arranged so that it can specify a next micro instruction. Therefore, all of the micro instruction in the micro program, in turn, can be accessed and executed. The last micro instruction of each micro programs includes information for fetching the next macro instruction, thereby advancing the programmed processing.
Therefore, it is desired to execute the first micro instruction of the next micro program as fast as possible after the completion of the execution of the last micro instruction, of the certain micro program in order to speed up the operation of the data processing system. However, it takes a long time for the decoding of the macro instruction in order to specify the address of the first micro instruction of each micro program in the above micro program control system.